
#pragma warning( disable: 4049 )  /* more than 64k source lines */

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 6.00.0347 */
/* at Mon Mar 03 13:41:02 2008
 */
/* Compiler settings for \svn\fp-ce\trunk\Src\DOM\DOM3XPath\DOM3XPath.idl:
    Oicf, W1, Zp8, env=Win32 (32b run)
    protocol : dce , ms_ext, c_ext
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING(  )


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 440
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef __DOM3XPath_h__
#define __DOM3XPath_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef __IXPathResult_FWD_DEFINED__
#define __IXPathResult_FWD_DEFINED__
typedef interface IXPathResult IXPathResult;
#endif 	/* __IXPathResult_FWD_DEFINED__ */


#ifndef __IXPathExpression_FWD_DEFINED__
#define __IXPathExpression_FWD_DEFINED__
typedef interface IXPathExpression IXPathExpression;
#endif 	/* __IXPathExpression_FWD_DEFINED__ */


#ifndef __IXPathNSResolver_FWD_DEFINED__
#define __IXPathNSResolver_FWD_DEFINED__
typedef interface IXPathNSResolver IXPathNSResolver;
#endif 	/* __IXPathNSResolver_FWD_DEFINED__ */


#ifndef __IXPathNamespace_FWD_DEFINED__
#define __IXPathNamespace_FWD_DEFINED__
typedef interface IXPathNamespace IXPathNamespace;
#endif 	/* __IXPathNamespace_FWD_DEFINED__ */


#ifndef __IXPathEvaluator_FWD_DEFINED__
#define __IXPathEvaluator_FWD_DEFINED__
typedef interface IXPathEvaluator IXPathEvaluator;
#endif 	/* __IXPathEvaluator_FWD_DEFINED__ */


#ifndef __IXPathHelper_FWD_DEFINED__
#define __IXPathHelper_FWD_DEFINED__
typedef interface IXPathHelper IXPathHelper;
#endif 	/* __IXPathHelper_FWD_DEFINED__ */


#ifndef __XPathExpression_FWD_DEFINED__
#define __XPathExpression_FWD_DEFINED__

#ifdef __cplusplus
typedef class XPathExpression XPathExpression;
#else
typedef struct XPathExpression XPathExpression;
#endif /* __cplusplus */

#endif 	/* __XPathExpression_FWD_DEFINED__ */


#ifndef __XPathResult_FWD_DEFINED__
#define __XPathResult_FWD_DEFINED__

#ifdef __cplusplus
typedef class XPathResult XPathResult;
#else
typedef struct XPathResult XPathResult;
#endif /* __cplusplus */

#endif 	/* __XPathResult_FWD_DEFINED__ */


#ifndef __XPathNSResolver_FWD_DEFINED__
#define __XPathNSResolver_FWD_DEFINED__

#ifdef __cplusplus
typedef class XPathNSResolver XPathNSResolver;
#else
typedef struct XPathNSResolver XPathNSResolver;
#endif /* __cplusplus */

#endif 	/* __XPathNSResolver_FWD_DEFINED__ */


#ifndef __XPathNamespace_FWD_DEFINED__
#define __XPathNamespace_FWD_DEFINED__

#ifdef __cplusplus
typedef class XPathNamespace XPathNamespace;
#else
typedef struct XPathNamespace XPathNamespace;
#endif /* __cplusplus */

#endif 	/* __XPathNamespace_FWD_DEFINED__ */


#ifndef __XPathEvaluator_FWD_DEFINED__
#define __XPathEvaluator_FWD_DEFINED__

#ifdef __cplusplus
typedef class XPathEvaluator XPathEvaluator;
#else
typedef struct XPathEvaluator XPathEvaluator;
#endif /* __cplusplus */

#endif 	/* __XPathEvaluator_FWD_DEFINED__ */


#ifndef __XPathHelper_FWD_DEFINED__
#define __XPathHelper_FWD_DEFINED__

#ifdef __cplusplus
typedef class XPathHelper XPathHelper;
#else
typedef struct XPathHelper XPathHelper;
#endif /* __cplusplus */

#endif 	/* __XPathHelper_FWD_DEFINED__ */


/* header files for imported files */
#include "oaidl.h"
#include "msxml2.h"

#ifdef __cplusplus
extern "C"{
#endif 

void * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void * ); 

#ifndef __IXPathResult_INTERFACE_DEFINED__
#define __IXPathResult_INTERFACE_DEFINED__

/* interface IXPathResult */
/* [unique][helpstring][dual][uuid][object] */ 


enum EXPathResultType
    {	ANY_TYPE	= 0,
	NUMBER_TYPE	= 1,
	STRING_TYPE	= 2,
	BOOLEAN_TYPE	= 3,
	UNORDERED_NODE_ITERATOR_TYPE	= 4,
	ORDERED_NODE_ITERATOR_TYPE	= 5,
	UNORDERED_NODE_SNAPSHOT_TYPE	= 6,
	ORDERED_NODE_SNAPSHOT_TYPE	= 7,
	ANY_UNORDERED_NODE_TYPE	= 8,
	FIRST_ORDERED_NODE_TYPE	= 9
    } ;

EXTERN_C const IID IID_IXPathResult;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FC02B955-6304-4F6D-8609-CD2FF5F5A40C")
    IXPathResult : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_resultType( 
            /* [retval][out] */ short *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_numberValue( 
            /* [retval][out] */ double *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_stringValue( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_invalidIteratorState( 
            /* [retval][out] */ BOOL *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_snapshotLength( 
            /* [retval][out] */ unsigned long *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_singleNodeValue( 
            /* [retval][out] */ IXMLDOMNode **pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_booleanValue( 
            /* [retval][out] */ BOOL *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE iterateNext( 
            /* [retval][out] */ IXMLDOMNode **retVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE snapshotItem( 
            unsigned long lIndex,
            /* [retval][out] */ IXMLDOMNode **retVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IXPathResultVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IXPathResult * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IXPathResult * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IXPathResult * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IXPathResult * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IXPathResult * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IXPathResult * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IXPathResult * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_resultType )( 
            IXPathResult * This,
            /* [retval][out] */ short *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_numberValue )( 
            IXPathResult * This,
            /* [retval][out] */ double *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_stringValue )( 
            IXPathResult * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_invalidIteratorState )( 
            IXPathResult * This,
            /* [retval][out] */ BOOL *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_snapshotLength )( 
            IXPathResult * This,
            /* [retval][out] */ unsigned long *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_singleNodeValue )( 
            IXPathResult * This,
            /* [retval][out] */ IXMLDOMNode **pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_booleanValue )( 
            IXPathResult * This,
            /* [retval][out] */ BOOL *pVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *iterateNext )( 
            IXPathResult * This,
            /* [retval][out] */ IXMLDOMNode **retVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *snapshotItem )( 
            IXPathResult * This,
            unsigned long lIndex,
            /* [retval][out] */ IXMLDOMNode **retVal);
        
        END_INTERFACE
    } IXPathResultVtbl;

    interface IXPathResult
    {
        CONST_VTBL struct IXPathResultVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IXPathResult_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IXPathResult_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IXPathResult_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IXPathResult_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IXPathResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IXPathResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IXPathResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IXPathResult_get_resultType(This,pVal)	\
    (This)->lpVtbl -> get_resultType(This,pVal)

#define IXPathResult_get_numberValue(This,pVal)	\
    (This)->lpVtbl -> get_numberValue(This,pVal)

#define IXPathResult_get_stringValue(This,pVal)	\
    (This)->lpVtbl -> get_stringValue(This,pVal)

#define IXPathResult_get_invalidIteratorState(This,pVal)	\
    (This)->lpVtbl -> get_invalidIteratorState(This,pVal)

#define IXPathResult_get_snapshotLength(This,pVal)	\
    (This)->lpVtbl -> get_snapshotLength(This,pVal)

#define IXPathResult_get_singleNodeValue(This,pVal)	\
    (This)->lpVtbl -> get_singleNodeValue(This,pVal)

#define IXPathResult_get_booleanValue(This,pVal)	\
    (This)->lpVtbl -> get_booleanValue(This,pVal)

#define IXPathResult_iterateNext(This,retVal)	\
    (This)->lpVtbl -> iterateNext(This,retVal)

#define IXPathResult_snapshotItem(This,lIndex,retVal)	\
    (This)->lpVtbl -> snapshotItem(This,lIndex,retVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IXPathResult_get_resultType_Proxy( 
    IXPathResult * This,
    /* [retval][out] */ short *pVal);


void __RPC_STUB IXPathResult_get_resultType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IXPathResult_get_numberValue_Proxy( 
    IXPathResult * This,
    /* [retval][out] */ double *pVal);


void __RPC_STUB IXPathResult_get_numberValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IXPathResult_get_stringValue_Proxy( 
    IXPathResult * This,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IXPathResult_get_stringValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IXPathResult_get_invalidIteratorState_Proxy( 
    IXPathResult * This,
    /* [retval][out] */ BOOL *pVal);


void __RPC_STUB IXPathResult_get_invalidIteratorState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IXPathResult_get_snapshotLength_Proxy( 
    IXPathResult * This,
    /* [retval][out] */ unsigned long *pVal);


void __RPC_STUB IXPathResult_get_snapshotLength_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IXPathResult_get_singleNodeValue_Proxy( 
    IXPathResult * This,
    /* [retval][out] */ IXMLDOMNode **pVal);


void __RPC_STUB IXPathResult_get_singleNodeValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IXPathResult_get_booleanValue_Proxy( 
    IXPathResult * This,
    /* [retval][out] */ BOOL *pVal);


void __RPC_STUB IXPathResult_get_booleanValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IXPathResult_iterateNext_Proxy( 
    IXPathResult * This,
    /* [retval][out] */ IXMLDOMNode **retVal);


void __RPC_STUB IXPathResult_iterateNext_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IXPathResult_snapshotItem_Proxy( 
    IXPathResult * This,
    unsigned long lIndex,
    /* [retval][out] */ IXMLDOMNode **retVal);


void __RPC_STUB IXPathResult_snapshotItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IXPathResult_INTERFACE_DEFINED__ */


#ifndef __IXPathExpression_INTERFACE_DEFINED__
#define __IXPathExpression_INTERFACE_DEFINED__

/* interface IXPathExpression */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IXPathExpression;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E27E2346-2BA5-49EC-B990-1487D77DC277")
    IXPathExpression : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE evaluate( 
            IXMLDOMNode *contextNode,
            short type,
            IXPathResult *result,
            /* [retval][out] */ IXPathResult **retVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE addFunctionLibrary( 
            IDispatch *pObj,
            BSTR sURI,
            /* [defaultvalue] */ BOOL bIsDefaultLibrary = 0) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IXPathExpressionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IXPathExpression * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IXPathExpression * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IXPathExpression * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IXPathExpression * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IXPathExpression * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IXPathExpression * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IXPathExpression * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *evaluate )( 
            IXPathExpression * This,
            IXMLDOMNode *contextNode,
            short type,
            IXPathResult *result,
            /* [retval][out] */ IXPathResult **retVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *addFunctionLibrary )( 
            IXPathExpression * This,
            IDispatch *pObj,
            BSTR sURI,
            /* [defaultvalue] */ BOOL bIsDefaultLibrary);
        
        END_INTERFACE
    } IXPathExpressionVtbl;

    interface IXPathExpression
    {
        CONST_VTBL struct IXPathExpressionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IXPathExpression_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IXPathExpression_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IXPathExpression_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IXPathExpression_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IXPathExpression_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IXPathExpression_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IXPathExpression_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IXPathExpression_evaluate(This,contextNode,type,result,retVal)	\
    (This)->lpVtbl -> evaluate(This,contextNode,type,result,retVal)

#define IXPathExpression_addFunctionLibrary(This,pObj,sURI,bIsDefaultLibrary)	\
    (This)->lpVtbl -> addFunctionLibrary(This,pObj,sURI,bIsDefaultLibrary)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IXPathExpression_evaluate_Proxy( 
    IXPathExpression * This,
    IXMLDOMNode *contextNode,
    short type,
    IXPathResult *result,
    /* [retval][out] */ IXPathResult **retVal);


void __RPC_STUB IXPathExpression_evaluate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IXPathExpression_addFunctionLibrary_Proxy( 
    IXPathExpression * This,
    IDispatch *pObj,
    BSTR sURI,
    /* [defaultvalue] */ BOOL bIsDefaultLibrary);


void __RPC_STUB IXPathExpression_addFunctionLibrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IXPathExpression_INTERFACE_DEFINED__ */


#ifndef __IXPathNSResolver_INTERFACE_DEFINED__
#define __IXPathNSResolver_INTERFACE_DEFINED__

/* interface IXPathNSResolver */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IXPathNSResolver;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("603C7BAD-35BF-4476-9B2F-EE9D8206C109")
    IXPathNSResolver : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE lookupNamespaceURI( 
            BSTR prefix,
            BSTR *retVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IXPathNSResolverVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IXPathNSResolver * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IXPathNSResolver * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IXPathNSResolver * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IXPathNSResolver * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IXPathNSResolver * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IXPathNSResolver * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IXPathNSResolver * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *lookupNamespaceURI )( 
            IXPathNSResolver * This,
            BSTR prefix,
            BSTR *retVal);
        
        END_INTERFACE
    } IXPathNSResolverVtbl;

    interface IXPathNSResolver
    {
        CONST_VTBL struct IXPathNSResolverVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IXPathNSResolver_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IXPathNSResolver_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IXPathNSResolver_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IXPathNSResolver_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IXPathNSResolver_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IXPathNSResolver_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IXPathNSResolver_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IXPathNSResolver_lookupNamespaceURI(This,prefix,retVal)	\
    (This)->lpVtbl -> lookupNamespaceURI(This,prefix,retVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IXPathNSResolver_lookupNamespaceURI_Proxy( 
    IXPathNSResolver * This,
    BSTR prefix,
    BSTR *retVal);


void __RPC_STUB IXPathNSResolver_lookupNamespaceURI_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IXPathNSResolver_INTERFACE_DEFINED__ */


#ifndef __IXPathNamespace_INTERFACE_DEFINED__
#define __IXPathNamespace_INTERFACE_DEFINED__

/* interface IXPathNamespace */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IXPathNamespace;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6B755817-3AC5-4487-A83D-51F422C24248")
    IXPathNamespace : public IDispatch
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IXPathNamespaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IXPathNamespace * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IXPathNamespace * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IXPathNamespace * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IXPathNamespace * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IXPathNamespace * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IXPathNamespace * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IXPathNamespace * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        END_INTERFACE
    } IXPathNamespaceVtbl;

    interface IXPathNamespace
    {
        CONST_VTBL struct IXPathNamespaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IXPathNamespace_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IXPathNamespace_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IXPathNamespace_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IXPathNamespace_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IXPathNamespace_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IXPathNamespace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IXPathNamespace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IXPathNamespace_INTERFACE_DEFINED__ */


#ifndef __IXPathEvaluator_INTERFACE_DEFINED__
#define __IXPathEvaluator_INTERFACE_DEFINED__

/* interface IXPathEvaluator */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IXPathEvaluator;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("92793D41-D967-46BC-A38B-633C1899B448")
    IXPathEvaluator : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE createExpression( 
            BSTR expression,
            IXPathNSResolver *resolver,
            /* [retval][out] */ IXPathExpression **retVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE createNSResolver( 
            IXMLDOMNode *nodeResolver,
            /* [retval][out] */ IXPathNSResolver **retval) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE evaluate( 
            BSTR expression,
            IXMLDOMNode *contextNode,
            IXPathNSResolver *resolver,
            short type,
            IXPathResult *result,
            /* [retval][out] */ IXPathResult **retVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IXPathEvaluatorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IXPathEvaluator * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IXPathEvaluator * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IXPathEvaluator * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IXPathEvaluator * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IXPathEvaluator * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IXPathEvaluator * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IXPathEvaluator * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *createExpression )( 
            IXPathEvaluator * This,
            BSTR expression,
            IXPathNSResolver *resolver,
            /* [retval][out] */ IXPathExpression **retVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *createNSResolver )( 
            IXPathEvaluator * This,
            IXMLDOMNode *nodeResolver,
            /* [retval][out] */ IXPathNSResolver **retval);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *evaluate )( 
            IXPathEvaluator * This,
            BSTR expression,
            IXMLDOMNode *contextNode,
            IXPathNSResolver *resolver,
            short type,
            IXPathResult *result,
            /* [retval][out] */ IXPathResult **retVal);
        
        END_INTERFACE
    } IXPathEvaluatorVtbl;

    interface IXPathEvaluator
    {
        CONST_VTBL struct IXPathEvaluatorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IXPathEvaluator_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IXPathEvaluator_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IXPathEvaluator_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IXPathEvaluator_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IXPathEvaluator_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IXPathEvaluator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IXPathEvaluator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IXPathEvaluator_createExpression(This,expression,resolver,retVal)	\
    (This)->lpVtbl -> createExpression(This,expression,resolver,retVal)

#define IXPathEvaluator_createNSResolver(This,nodeResolver,retval)	\
    (This)->lpVtbl -> createNSResolver(This,nodeResolver,retval)

#define IXPathEvaluator_evaluate(This,expression,contextNode,resolver,type,result,retVal)	\
    (This)->lpVtbl -> evaluate(This,expression,contextNode,resolver,type,result,retVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IXPathEvaluator_createExpression_Proxy( 
    IXPathEvaluator * This,
    BSTR expression,
    IXPathNSResolver *resolver,
    /* [retval][out] */ IXPathExpression **retVal);


void __RPC_STUB IXPathEvaluator_createExpression_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IXPathEvaluator_createNSResolver_Proxy( 
    IXPathEvaluator * This,
    IXMLDOMNode *nodeResolver,
    /* [retval][out] */ IXPathNSResolver **retval);


void __RPC_STUB IXPathEvaluator_createNSResolver_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IXPathEvaluator_evaluate_Proxy( 
    IXPathEvaluator * This,
    BSTR expression,
    IXMLDOMNode *contextNode,
    IXPathNSResolver *resolver,
    short type,
    IXPathResult *result,
    /* [retval][out] */ IXPathResult **retVal);


void __RPC_STUB IXPathEvaluator_evaluate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IXPathEvaluator_INTERFACE_DEFINED__ */


#ifndef __IXPathHelper_INTERFACE_DEFINED__
#define __IXPathHelper_INTERFACE_DEFINED__

/* interface IXPathHelper */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IXPathHelper;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FA55790C-2760-4B9A-A3E9-A134DE3E1B88")
    IXPathHelper : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getData( 
            VARIANT v,
            /* [retval][out] */ long *retVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IXPathHelperVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IXPathHelper * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IXPathHelper * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IXPathHelper * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IXPathHelper * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IXPathHelper * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IXPathHelper * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IXPathHelper * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getData )( 
            IXPathHelper * This,
            VARIANT v,
            /* [retval][out] */ long *retVal);
        
        END_INTERFACE
    } IXPathHelperVtbl;

    interface IXPathHelper
    {
        CONST_VTBL struct IXPathHelperVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IXPathHelper_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IXPathHelper_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IXPathHelper_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IXPathHelper_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IXPathHelper_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IXPathHelper_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IXPathHelper_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IXPathHelper_getData(This,v,retVal)	\
    (This)->lpVtbl -> getData(This,v,retVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IXPathHelper_getData_Proxy( 
    IXPathHelper * This,
    VARIANT v,
    /* [retval][out] */ long *retVal);


void __RPC_STUB IXPathHelper_getData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IXPathHelper_INTERFACE_DEFINED__ */



#ifndef __DOM3XPATHLib_LIBRARY_DEFINED__
#define __DOM3XPATHLib_LIBRARY_DEFINED__

/* library DOM3XPATHLib */
/* [helpstring][version][uuid] */ 


EXTERN_C const IID LIBID_DOM3XPATHLib;

EXTERN_C const CLSID CLSID_XPathExpression;

#ifdef __cplusplus

class DECLSPEC_UUID("8AA29504-4B53-4267-9D90-710406000AA0")
XPathExpression;
#endif

EXTERN_C const CLSID CLSID_XPathResult;

#ifdef __cplusplus

class DECLSPEC_UUID("3C9D09A5-D8E4-4374-8161-1A3E967F5BA4")
XPathResult;
#endif

EXTERN_C const CLSID CLSID_XPathNSResolver;

#ifdef __cplusplus

class DECLSPEC_UUID("BF7B1987-3145-4527-BE49-F20896B1BB51")
XPathNSResolver;
#endif

EXTERN_C const CLSID CLSID_XPathNamespace;

#ifdef __cplusplus

class DECLSPEC_UUID("314E3EBC-123B-4276-AF8C-F96472392A63")
XPathNamespace;
#endif

EXTERN_C const CLSID CLSID_XPathEvaluator;

#ifdef __cplusplus

class DECLSPEC_UUID("DA115CF8-F949-4259-BEA9-CB886D3B613D")
XPathEvaluator;
#endif

EXTERN_C const CLSID CLSID_XPathHelper;

#ifdef __cplusplus

class DECLSPEC_UUID("892B8C11-E0BE-4360-AE35-165D8A378A9B")
XPathHelper;
#endif
#endif /* __DOM3XPATHLib_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


